#include <time.h>
#include <stdio.h>
#include <pthread.h>
#include <sys/time.h>
#include <sys/unistd.h>

pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;

void api_function() {
    // 创建条件变量
    pthread_cond_t cond;

    // 初始化条件变量
    pthread_cond_init(&cond, NULL);

    // 阻塞等待
    // 当前线程释放获取到互斥锁, 后阻塞等待唤醒
    // 下次唤醒时, 会尝试获取互斥锁,
    pthread_cond_wait(&cond, &mutex);

    // 超时阻塞等待
    pthread_cond_timedwait(&cond, &mutex, NULL);

    // 单个唤醒
    // 唤醒阻塞在条件变量上的线程
    pthread_cond_signal(&cond);

    // 全部唤醒
    pthread_cond_broadcast(&cond);

    // 销毁条件变量
    pthread_cond_destroy(&cond);
}

int main() {
    return 0;
}